package com.molichuxing.gateway.api.services;

import java.util.List;
import java.util.Map;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.framework.result.ResponseResult;
import com.molichuxing.gateway.bff.advert.entity.request.create.AdvertCreateVo;
import com.molichuxing.gateway.bff.advert.entity.request.modify.AdvertModifyVo;
import com.molichuxing.gateway.bff.advert.entity.request.modify.AdvertStoreModifyVo;
import com.molichuxing.gateway.bff.advert.entity.response.AdvertDealerStoreVo;
import com.molichuxing.gateway.bff.advert.entity.response.AdvertVo;
import com.molichuxing.gateway.bff.advert.entity.response.BrandAndDealerVo;

public interface AdvertApiService {

	/**
	 * 查询广告列表
	 * @param map
	 * @return
	 */
	ResponseResult<Paged<AdvertVo>> getAdvertList(Map<String, Object> map);

	/**
	 * 获取广告详情
	 * @param id
	 * @return
	 */
	ResponseResult<AdvertVo> getAdvertById(Integer id);

	/**
	 * 添加广告
	 * @param createVo
	 * @return
	 */
	ResponseResult<Boolean> create(AdvertCreateVo createVo);

	/**
	 * 编辑广告
	 * @param modifyVo
	 * @return
	 */
	ResponseResult<Boolean> modify(AdvertModifyVo modifyVo);

	/**
	 * 获取品牌和经销商下拉列表
	 * @param
	 * @return
	 */
	ResponseResult<List<BrandAndDealerVo>> getBrandAndDealerList(Integer type);

	/**
	 * 获取广告门店信息
	 * @param type
	 * @param typeId
	 * @param advertId
	 * @return
	 */
	ResponseResult<AdvertDealerStoreVo> getDealerAndStoreList(Integer type, Integer typeId, Integer advertId);

	/**
	 * 保存广告和门店绑定关系接口
	 * @param modifyVo
	 * @return
	 */
	ResponseResult<Boolean> createAdvertStore(AdvertStoreModifyVo modifyVo);


}
